android命令行签名打包 android打包签名v1和v2的区别 |
您所在的位置:网站首页 › 安卓打包v1 v2 › android命令行签名打包 android打包签名v1和v2的区别 |
目录 1.打包时选择Signature Version 1.1 两者区别 1.2 使用方式 2 App打包后,APK安装失败 1.打包时选择Signature Version在打包程序时,会让选择签名版本,如下: 1.1 两者区别 V1:仅验证未解压的文件内容,这样APK 签署后可进行许多修改 ,可以移动甚至重新压缩文件。 V2:验证压缩文件的所有字节,而不是单个 ZIP 条目,因此,在签名后无法再更改(包括 zipalign)。 正因如此,现在在编译过程中,我们将压缩、调整和签署合并成一步完成。 V2的好处:更安全而且新的签名可缩短在设备上进行验证的时间(不需要费时地解压缩然后验证), 从而加快应用安装速度。如有任何自定义任务篡改 APK 文件或对其进行后处理(无论以任何方式), 那么V2 签名会有作废的风险,从而导致您的 APK 与 Android 7.0 及更高版本不兼容。 1.2 使用方式只勾选v1签名并不会影响什么,但是在7.0上不会使用更安全的验证方式 只勾选V2签名7.0以下会直接安装完显示未安装,7.0以上则使用了V2的方式验证 同时勾选V1和V2则所有机型都没问题 为了方便我们每次打包,我们可以设置每次打包默认两个都勾选。在app所对应的build.gradle添加如下配置,: signingConfigs { debug { v1SigningEnabled true v2SigningEnabled true } release { v1SigningEnabled true v2SigningEnabled true } }2 App打包后,APK安装失败 1.覆盖安装检查你的新旧apk所使用的签名文件是否是同一个2.检查签名文件是否是发布版本 debug 签名的应用程序不能在 Android Market 上发布,它会强制你使用自己的签名, debug.keystore 在不同的机器上所生成的可能都不一样,就意味着如果你换了机器 进行 apk 版本升级,那么将会出现上面那种程序不能覆盖安装的问题。不要小视这个 问题,如果你开发的程序只有你自己使用,当然无所谓,卸载再安装就可以了。但是 如果你的软件有很多使用客户,这就是大问题了,就相当于软件不具备升级功能, 所以一定要使用正式发布版本的签名。 3.检查清单文件中的两个属性 ersionCode和versionName,发布新版本的时候会有可能会忘记修改这两项。如果 没有修改会导致软件发布后用户无法接收到更新提示,也就影响软件的更新率。
|
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |